﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DataAccessLayer;
using BusinessLogicLayer;

namespace ChamCong.Admin
{
    public partial class QuanLyLoaiPC : BasePage
    {
        PhuCapBLL pcBLL = new PhuCapBLL();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Reset();
            }
        }


        private void Reset()
        {
            txtMaPC.Text = null;
            txtMaPC.Enabled = true;
            txtTenPC.Text = null;
            txtTenPC.Enabled = true;
            txtTienPC.Text = null;
            txtTienPC.Enabled = true;
            txtMoTa.Text = null;
            txtMoTa.Enabled = true;

            lbthongbao.Text = null;
            lbthongbao2.Text = null;
            btnThem.Visible = true;
            btnUpdate.Visible = false;
        }

        private void ShowEdit()
        {
            btnThem.Visible = false;
            btnUpdate.Visible = true;
        }

        protected void btnThem_Click(object sender, EventArgs e)
        {
            PHUCAP pc = new PHUCAP();
            try
            {
                pc.MaPhuCap = int.Parse(txtMaPC.Text);
            }
            catch
            {
                sbcMsgBox.SetTitleText(SBWebControls.sbcMsgBox.eMessageType.Warning, "Thông báo", "Mã Phụ Cấp là số tự nhiên!");
            }
            if (pc.MaPhuCap == 0)
            {
                sbcMsgBox.SetTitleText(SBWebControls.sbcMsgBox.eMessageType.Warning, "Thông báo", "Không đặt giá trị bằng 0 cho Mã Phụ Cấp!");
            }
            else
            {
                pc.TenPhuCap = txtTenPC.Text;
                pc.TienPhuCap = int.Parse(txtTienPC.Text);
                pc.MoTa = txtMoTa.Text;

                if (pcBLL.KiemTraTonTai(pc.MaPhuCap, pc.TenPhuCap) != null)
                {
                    //lbthongbao.Text = pcBLL.KiemTraTonTai(pc.MaPhuCap, pc.TenPhuCap) + " đã tồn tại!";
                    sbcMsgBox.SetTitleText(SBWebControls.sbcMsgBox.eMessageType.Warning, "Thông báo", pcBLL.KiemTraTonTai(pc.MaPhuCap, pc.TenPhuCap) + " đã tồn tại!");
                }
                else
                {
                    try
                    {
                        pcBLL.Them(pc);
                        dgvDSPhuCap.DataBind();
                        Reset();
                    }
                    catch (Exception ex)
                    {
                        lbthongbao.Text = ex.ToString();
                    }
                }
            }
        }

        protected void btnCancel_Click(object sender, EventArgs e)
        {
            Reset();
        }

        protected void btnUpdate_Click(object sender, EventArgs e)
        {
            PHUCAP pc = new PHUCAP();
            pc.MaPhuCap = int.Parse(txtMaPC.Text);
            pc.TenPhuCap = txtTenPC.Text;
            pc.TienPhuCap = int.Parse(txtTienPC.Text);
            pc.MoTa = txtMoTa.Text;

            if (pcBLL.KiemTraTenPhuCap(pc.MaPhuCap, pc.TenPhuCap) == false)
            {
                pcBLL.Sua(pc);
                dgvDSPhuCap.DataBind();
                Reset();
            }
            else
            {
                //lbthongbao.Text = "Tên Phụ Cấp đã được sử dụng!"
                sbcMsgBox.SetTitleText(SBWebControls.sbcMsgBox.eMessageType.Warning, "Thông báo", "Tên Phụ Cấp đã được sử dụng!");
                ShowEdit();
            }
        }

        protected void dgvDSPhuCap_rowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                ImageButton imgbtXoa = (ImageButton)e.Row.FindControl("imgbtXoa");
                ImageButton imgbtSua = (ImageButton)e.Row.FindControl("imgbtSua");
                ImageButton imgbtXem = (ImageButton)e.Row.FindControl("imgbtXem");

                if (imgbtXoa != null)
                    imgbtXoa.Attributes["MaPhuCap"] = e.Row.Cells[0].Text;
                if (imgbtSua != null)
                    imgbtSua.Attributes["MaPhuCap"] = e.Row.Cells[0].Text;
                if (imgbtXem != null)
                    imgbtXem.Attributes["MaPhuCap"] = e.Row.Cells[0].Text;
            }
        }

        protected void imgbtXem_Click(object sender, ImageClickEventArgs e)
        {
            ImageButton btn = (ImageButton)sender;
            int ma = int.Parse(btn.Attributes["MaPhuCap"]);

            if (IsPostBack)
            {
                PHUCAP pc = pcBLL.LayPC(ma);

                txtMaPC.Text = pc.MaPhuCap.ToString();
                txtMaPC.Enabled = false;

                txtTenPC.Text = pc.TenPhuCap;
                txtTenPC.Enabled = false;

                txtTienPC.Text = pc.TienPhuCap.ToString();
                txtTienPC.Enabled = false;

                txtMoTa.Text = pc.MoTa;
                txtMoTa.Enabled = false;

                btnThem.Visible = false;
            }
        }

        protected void imgbtSua_Click(object sender, ImageClickEventArgs e)
        {
            Reset();
            ImageButton btn = (ImageButton)sender;
            int ma = int.Parse(btn.Attributes["MaPhuCap"]);

            if (IsPostBack)
            {
                PHUCAP pc = pcBLL.LayPC(ma);
                txtMaPC.Text = pc.MaPhuCap.ToString();
                txtMaPC.Enabled = false;

                txtTenPC.Text = pc.TenPhuCap;
                txtTenPC.Enabled = true;

                txtTienPC.Text = pc.TienPhuCap.ToString();
                txtTienPC.Enabled = true;

                txtMoTa.Text = pc.MoTa;
                txtMoTa.Enabled = true;

                ShowEdit();
            }
        }

        protected void imgbtXoa_Click(object sender, ImageClickEventArgs e)
        {
            lbthongbao.Text = "hello";
            ImageButton btn = (ImageButton)sender;
            int ma = int.Parse(btn.Attributes["MaPhuCap"]);

            try
            {
                pcBLL.Xoa(ma);
                dgvDSPhuCap.DataBind();
                Reset();
            }
            catch
            {
                //lbthongbao2.Text = "Không thể xóa!";
                sbcMsgBox.SetTitleText(SBWebControls.sbcMsgBox.eMessageType.Warning, "Thông báo", "Không thể xóa!");
            }
        }


    }
}